{extend name='base' /}
{block name='content'}
<body>
<div class="x-body">
    <form action="" method="post" class="layui-form layui-form-pane" id="addData">
        <input type="hidden" name="id"  value="{$id}">
        <input type="checkbox" lay-filter="all" lay-skin="primary" title="全选" id="allChecked">
        <br>
        <br>
        {volist name='nodeData' id='vo'}
        <div class="layui-form-item layui-form-text">
            <div class="layui-form-label navs" style="padding: 0px 15px 8px">
                <input type="checkbox" lay-filter="navs" lay-skin="primary" name="nodeids[]" title="{$vo.node_title}" value="{$vo.node_id}" {if in_array($vo['node_id'],$nodes)}checked{/if}>
            </div>
            <table  class="layui-table layui-input-block">
                <tbody>
                {if is_array($vo.child)}
                {volist name="$vo['child']" id='chvo'}
                <tr>
                    <td>
                        <input type="checkbox" lay-filter="menus" name="nodeids[]" lay-skin="primary" title="{$chvo.node_title}" value="{$chvo.node_id}" {if in_array($chvo['node_id'],$nodes)}checked{/if}>
                    </td>
                    <td>
                        <div class="layui-input-block">
                            {if is_array($chvo.child)}
                            {volist name='$chvo.child' id='vv'}
                            <input name="nodeids[]" lay-skin="primary" lay-filter="actions" type="checkbox" title="{$vv.node_title}" value="{$vv.node_id}" {if in_array($vv['node_id'],$nodes)}checked{/if}>
                            {/volist}
                            {/if}
                        </div>
                    </td>
                </tr>
                {/volist}
                {/if}
                </tbody>
            </table>
        </div>
        {/volist}
        <div class="layui-form-item">
            <a href="javascript:;" class="layui-btn" lay-submit="" lay-filter="add" id="btn">授权</a>
        </div>
    </form>
    <script>
        layui.use(['form'], function () {
            $ = layui.jquery;

            var form = layui.form;
            all(form)
            // 全选操作
            form.on('checkbox(all)', function(data){
                if (data.elem.checked==true){
                    $('.layui-form-item').find('input').prop('checked',true);
                } else{
                    $('.layui-form-item').find('input').prop('checked',false);
                }
                form.render();
            });

            // 点击导航选中所有下级
            form.on('checkbox(navs)',function (data) {
                if (data.elem.checked==true){
                    $(this).parent().siblings('table').find('input').prop('checked',true)
                }else{
                    $(this).parent().siblings('table').find('input').prop('checked',false)
                }
                form.render();
                all(form);
            })
            // 点击才当选中所有菜单下级和上级
            form.on('checkbox(menus)',function (data) {
                if (data.elem.checked==true){
                    $(this).parents('.layui-form-text').children('.navs').find('input').prop('checked',true);
                    $(this).parent().next('td').find('input').prop('checked',true);
                } else{
                    $(this).parent().next('td').find('input').prop('checked',false)
                }
                form.render();
                all(form);
            })
            // 点击方法选中对应的上级
            form.on('checkbox(actions)',function (data) {
                if (data.elem.checked==true){
                    $(this).parents('td').prev('td').find('input').prop('checked',true);
                    $(this).parents('.layui-form-text').children('.navs').find('input').prop('checked',true);
                }
                all(form);
            })


        });

        /**
         * 全选
         * @param form
         */
        function all(form){
            var inputnum = $('.layui-form-item').find('input').length;
            var  checkednum= $('.layui-form-item .layui-form-checked').length;
            if (inputnum==checkednum){
                $('#allChecked').attr('checked',true)
            }else{
                $('#allChecked').attr('checked',false)
            }
            form.render();
        }

        $('#btn').click(function () {
            $.ajax({
                url:"{:url('role/uprole')}",
                type:'post',
                dataType:'json',
                data:$('#addData').serialize(),
                success:function (res) {
                    if (res.code==1){
                        layer.msg(res.message,{icon:6});
                        setTimeout(function () {
                            x_admin_close();
                            window.parent.location.reload();
                        },1000)
                    } else{
                        layer.msg(res.message,{icon:2,time:1000})
                    }
                },
                error:function () {
                    layer.msg('出错了，请稍后再试！！', {icon: 5, time: 1000})
                }
            })
        })
    </script>
</div>

</body>
{/block}